package oop;

public class TestSuper02 {
    public static void main(String[] args) {
        new ChildClass2();
        //只调用ChildClass类
        /*会先打印父类的方法：创建FatherClass
         再打印子类方法：创建ChildClass*/
    }
}
class FatherClass2 {
    //静态初始化与构造方法调用顺序一样，先有父再有子
    static {
        System.out.println("静态初始化FatherClass2.static ");
    }
    //构造器
    public FatherClass2(){

        //super();默认调用Object
        System.out.println("创建FatherClass");
    }
}
//必须是 继承父类 super才可以调用父类的方法和属性，外部不可以
class ChildClass2 extends FatherClass2{
    static {
        System.out.println("静态初始化ChildClass2.static ");
    }
    //构造器
    public ChildClass2(){
       // super();这隐藏了
      /*在一个类中，若是构造方法的第一行没有调用super(....)或this(...)  那么
       java默认都会调用super()含义是调用父类的无参数构造方法 */
        System.out.println("创建ChildClass");
    }
}